06363875dda48b3501eee0afd5e3de185c8e94d2,src/main/java/joshie/enchiridion/gui/book/buttons/actions/ActionPreviousPage.java,ActionPreviousPage,performAction,#,25
Before Change
int number = EnchiridionAPI.book.getPage().getPageNumber() - 1;
while (number >= 0) {
for (IPage page : pages) {
if (page.getPageNumber() == number) {
EnchiridionAPI.book.jumpToPageIfExists(number);
return; //Cancel further operations
}
After Change
public boolean performAction() {
try {
List<IPage> pages = EnchiridionAPI.book.getBook().getPages();
List<Integer> numbersTemp = new ArrayList<Integer>();
for (IPage page: pages) {
numbersTemp.add(page.getPageNumber());
}
Collections.sort(numbersTemp, new SortNumerical());
List<Integer> numbers = Lists.reverse(numbersTemp);
int number = EnchiridionAPI.book.getPage().getPageNumber();
for (Integer integer: numbers) {
if (integer < number) {
return EnchiridionAPI.book.jumpToPageIfExists(integer);
}
}
return EnchiridionAPI.book.jumpToPageIfExists(numbers.get(0));
} catch (Exception e) {}
return false;
}